4.4.9        Superficie di Rotazione (SOR)



Bottiglie, vasi e bicchieri fanno un bellÆeffetto nelle scene renderizzate. Vogliamo creare una coppa dÆoro usando lÆoggetto æsuperficie di rotazioneÆ (SOR, ovvero Surface Of Revolution). Iniziamo ad occuparci della forma dellÆoggetto che vogliamo realizzare. EÆ piuttosto difficile inventarsi un insieme di punti che descrivono una data curva senza lÆaiuto di un modellatore che supporti lÆoggetto SOR. Se abbiamo a disposizione un programma del genere, dovremmo servircene.

Fig. 43-I punti della nostra coppa

Useremo la configurazione dei punti mostrata nella figura sopra. Ci sono otto punti che descrivono la curva che verrà ruotata attorno allÆasse delle y per dare la nostra coppa. La curva è stata calcolata usando il metodo descritto nel paragrafo "Superficie di Rotazione". Creiamo quindi una scena che utilizzi lÆoggetto SOR : editiamo un file di nome sordemo.pov e inseriamo il testo seguente :

#include "colors.inc"
#include "golds.inc"

global_settings { assumed_gamma 2.2 }
camera {
location <10, 15, -20>
look_at <0, 5, 0>
angle 45
}

background { color rgb<0.2, 0.4, 0.8> }
light_source { <100, 100, -100> color rgb 1 }
plane { y, 0
pigment { checker color Red, color Green scale 10 }
}

sor {
8,
<0.0, -0.5>,
<3.0, 0.0>,
<1.0, 0.2>,
<0.5, 0.4>,
<0.5, 4.0>,
<1.0, 5.0>,
<3.0, 10.0>,
<4.0, 11.0>
texture { T_Gold_1B }
}

Fig. 44-Un oggetto SOR

La scena contiene la nostra coppa appoggiata su di un piano. L'oggetto SOR è descritto dal numero dei punti che costituiscono la curva, seguito dalle coordinate dei punti fornite in ordine di quota ascendente. Ogni punto determina il raggio della curva alla relativa altezza. Ad esempio, il primo punto dice a POV-Ray che a quota 0.5 il raggio è 0. Dobbiamo fare attenzione che ogni punto che inseriamo si trovi ad un'altezza superiore a quella del punto precedente. Se questo non si verifica, il programma si fermerà restituendo un messaggio di errore.